home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / misc / vhlogger_v2.lzh / qslcard.rexx < prev    next >
OS/2 REXX Batch file  |  1992-07-14  |  4KB  |  174 lines

  1. /* $VER: qslcard.rexx 1.00 (060792) */
  2. /* Version     1 - 07/05/92 Vince Herried ka8cte */
  3. /* purpose     print a qsl card from the vhlog data base. */
  4. /* arguments   a list of blank seperated call signs     */
  5. /*           if no arguments are given, the program will resort to
  6.            prompting the user for the arguments     */
  7.  
  8.  
  9. arg   parm
  10. options results
  11. test='y'             /* if y, turn on trace after mundane stuff is done */
  12. open='n'
  13. if (parm = '') then
  14.    batch = 'n'
  15. else batch = 'y'
  16.  
  17. /* the following describe the numeric to character values for the
  18. band, mode, power, and antenna values feel free to modify the text
  19. in these field (possibly preserving the original value as a comment)
  20. to suit your own needs.
  21.  
  22. */
  23.  
  24. band.0=" "
  25. band.1="160M"
  26. band.2= "80M"
  27. band.3= "40M"
  28. band.4= "30M"
  29. band.5= "20M"
  30. band.6= "17M"
  31. band.7= "15M"
  32. band.8= "12M"
  33. band.9= "10M"
  34. band.10= "6M"
  35. band.11= "2M"
  36. band.12= "1.25M"
  37. band.13= "70CM"
  38. band.14= "33CM"
  39. band.15= "23CM"
  40. band.16= "other"
  41.  
  42. mode.0= " "
  43. mode.1= "CW"
  44. mode.2= "SSB"
  45. mode.3= "FM"
  46. mode.4= "AM"
  47. mode.5= "AMTOR"
  48. mode.6= "RTTY"
  49. mode.7= "PACKET"
  50. mode.8= "ASCII"
  51. mode.9= "FAX"
  52. mode.10= "SSTV"
  53. mode.11= "FSTV"
  54. mode.12= "other"
  55.  
  56. power.0= " "
  57. power.1= "1W"
  58. power.2= "5W"
  59. power.3= "50W"
  60. power.4= "200W"
  61. power.5= "1KW"
  62. power.6= "2KW"
  63.  
  64. antenna.0= " "
  65. antenna.1= "RANDOM"
  66. antenna.2= "DIPOLE1"
  67. antenna.3= "DIPOLE2"
  68. antenna.4= "DIPOLE3"
  69. antenna.5= "DIPOLE4"
  70. antenna.6= "VERT 1"
  71. antenna.7= "VERT 2"
  72. antenna.8= "VERT 3"
  73. antenna.9= "VERT 4"
  74. antenna.10= "BEAM 1"
  75. antenna.11= "BEAM 2"
  76. antenna.12= "BEAM 3"
  77. antenna.13= "BEAM 4"
  78. antenna.14= "DUCK"
  79. antenna.15= "QUAD"
  80. antenna.16= "DISH"
  81. antenna.17= "HELIX"
  82. antenna.18= "other"
  83.  
  84. if test = 'y' then trace('r')
  85.  
  86. if open = 'n' & test ='n' then do            /* data base program not running yet */
  87.    address "COMMAND"
  88.    "run vhlogger"
  89.       WaitForPort "vhlogger"
  90.       address "vhlogger"
  91.       "back"               /* window to back */
  92.       "open vhlog"         /* open the input file. */
  93.       open = 'y'
  94. end               /* if open = 'n' */
  95.  
  96. address "vhlogger"
  97.  
  98. do while(getcall())
  99.    "find" callsign
  100.    if rc ~= 0 then do
  101.       say callsign "Not found in data base, skipping"
  102.       iterate
  103.    end                 /* if rc ~= 0 */
  104.    call gen_card result
  105. end                 /* do while */
  106.  
  107. if open = 'y' & test = 'n' then do
  108.    "close"
  109.    "quit"
  110.    say "All done now, bye"
  111.    open='n'
  112. end                /* if open = 'y' */
  113. exit(0)
  114.  
  115.  
  116. getcall:
  117. if batch='y' then parse var parm callsign parm
  118. else do
  119.  
  120.    say "Enter call sign or press <enter>"
  121.    pull callsign
  122. end
  123. if callsign ~= "" then return(1)
  124. else return(0)
  125.  
  126. gen_card:
  127. arg result
  128. if printer_open ~= 'y' then do
  129.    if (open('printer','PRT:','W') = 0) then do
  130.      say "Open of printer failed, ending"
  131.      exit(16)
  132.    end
  133.    printer_open = 'y'
  134. end
  135. parse var result callsign ';' name ';' date ';' stime ';' etime ';' rsts ';',
  136.       rstr ';' address ';' city ';' state ';' zip ';' comment ';' srh ';',
  137.       xband ';' xpower ';' xantenna ';' xmode junk
  138.  
  139. xmode=strip(xmode,'T','.') /* yank period */
  140.  
  141. page = '0c'x    /* form feed */
  142.  
  143. if test ~= 'y' then x = writeln("printer",page)
  144.  
  145. x= writeln("printer","Radio" callsign "confirming our QSO")
  146. line="on" substr(date,3,2)'/'substr(date,5,2)'/'substr(date,1,2),
  147.    'at' substr(stime,1,2)':'substr(stime,3,2)'Z'
  148. x = writeln("printer",line)
  149.  
  150. line = "Your " band.xband "band" mode.xmode "signal was" rsts
  151. x = writeln("printer",line)
  152.  
  153. line = "My rig is a Kenwood TS830S running" power.xpower
  154. x = writeln("printer",line)
  155.  
  156. if xantenna ~= 0 then
  157.    line = line "into my" antenna.xantenna "antenna";
  158.  
  159. x = writeln("printer",line)
  160.  
  161. if substr(srh,2,1) = 'Y' then    /* QSL received */
  162.    line = "Thanks for your QSL card"
  163. else
  164.    line = "Please QSL"
  165.  
  166. line = line "73 Vince "
  167. x = writeln("printer",line)
  168.  
  169. /* all done, pump out a new page */
  170. if test ~= 'y' then x=writeln("printer",page)
  171.  
  172. return(0)
  173.  
  174.